0:00–0:10
Recap
0:10–0:30
Lecture
0:30–1:40
Lab 6-D
1:40–1:50
Bonus
1:50–2:00
Debrief
0:00 – 0:10Recap · 10 min

Day 3 review & the app and Linux gap

0:10 – 0:30Lecture · 20 min

Win32 app packaging and the Intune Linux agent model

Two distinct topics — Windows app deployment and Linux MDM — covered back to back because both are best understood as "Intune extending its management reach beyond defaults."

Windows app deployment — four types

TypeFormatBest forPackaging tool needed?
Win32 app.intunewin (wraps .exe or .msi)Any traditional Windows application — most common enterprise choiceYes — IntuneWinAppUtil.exe
Microsoft Store app (new)Store app IDModern apps from the Microsoft Store — no packaging requiredNo
LOB app.msi, .msix, .appxLine-of-business apps with an MSI installerNo — upload the MSI directly
Microsoft 365 AppsClick-to-RunDeploying Office suite via Intune — no installer file neededNo

The Win32 packaging pipeline

Source installer
.exe or .msi on your machine
IntuneWinAppUtil
Packages + encrypts → .intunewin
Upload to Intune
App + detection rule + install command
Assign to group
Required / Available / Uninstall
Installs silently
On enrolled devices in scope
Instructor note: The "same Intune portal, different platforms" moment is worth making explicit at the end of the lab. When LINUX-01 appears in Devices → All devices alongside WIN-CLIENT-01 and WIN-CLIENT-02, that single view represents the unified management plane. Students who understand this are prepared for real enterprise environments where Linux, Windows, macOS, iOS, and Android all coexist in the same Intune tenant.
0:30 – 1:40Guided lab · 70 min

Lab 6-D: Win32 app deployment and Linux Intune agent enrollment

Students package a Win32 application using IntuneWinAppUtil, upload and deploy it to WIN-CLIENT-01, deploy a Microsoft Store app, then install the Intune Linux agent on LINUX-01, enroll it, configure a Linux compliance policy, and verify both devices in the unified Intune portal.

Part 1 — Windows app deployment (~35 min)

Part 2 — Linux Intune agent enrollment (~35 min)

Linux agent networking requirement: The Intune Linux agent requires outbound HTTPS access to Microsoft endpoints (intune.microsoft.com, login.microsoftonline.com, etc.). If LINUX-01 uses NAT networking on your hypervisor, this should work. If LINUX-01 is on a host-only network with no route to the internet, the agent will install but enrollment will fail. Verify curl -I https://intune.microsoft.com returns a response before starting Step 7.
The unified view moment: When LINUX-01 appears in Intune → Devices → All devices alongside your Windows machines — all three visible in the same portal, the same compliance framework applying across platforms — that is modern endpoint management. One management plane, heterogeneous devices.
1:40 – 1:50Bonus · 10 min

⭐ Bonus: Linux custom compliance script & app inventory

⭐ Bonus A — Linux custom compliance script
  • Navigate to Intune → Devices → Compliance → Scripts → + Add → Linux
  • Write a bash compliance script that checks whether UFW (Uncomplicated Firewall) is enabled:
    #!/bin/bash
    ufw_status=$(sudo ufw status | head -1)
    if echo "$ufw_status" | grep -q "Status: active"; then
    echo '{"ufw_enabled": true}'
    else
    echo '{"ufw_enabled": false}'
    fi
  • Add a custom compliance setting requiring ufw_enabled = true. Assign to SG — All Linux Devices.
  • On LINUX-01: enable UFW (sudo ufw enable) and sync. Observe compliance state update.
⭐ Bonus B — Linux app deployment via Intune
  • Navigate to Intune → Apps → Linux → + Add
  • App type: Linux (DEB package). Upload a simple .deb package — e.g. download curl -O http://archive.ubuntu.com/ubuntu/pool/main/h/htop/htop_3.0.5-7build2_amd64.deb
  • Configure install command: dpkg -i htop_3.0.5-7build2_amd64.deb
  • Detection rule: File exists → /usr/bin/htop
  • Assign Required to SG — All Linux Devices. Verify which htop on LINUX-01 after the agent applies the deployment.
1:50 – 2:00Debrief · 10 min

Reflection & Week 6 preview

Learning outcomes — by end of Day 4, students can…

Package Win32 appsUse IntuneWinAppUtil to package an .exe or .msi into a .intunewin file
Deploy apps via IntuneUpload a Win32 app, configure install commands and detection rules, and assign to a device group
Distinguish deployment typesExplain Required vs Available vs Uninstall and when each is appropriate
Install the Linux Intune agentAdd the Microsoft package repository and install intune-portal on Ubuntu 22.04
Enrol a Linux deviceComplete Intune enrollment from LINUX-01 and verify the device appears in the portal
Create a Linux compliance policyConfigure OS version, allowed distros, and password requirements for Linux

What you need ready

WIN-CLIENT-01 enrolled + compliant LINUX-01 (Ubuntu 22.04) running with internet access IntuneWinAppUtil.exe download link ready Source app installer (.msi or .exe) ready Intune portal (intune.microsoft.com) M365 account credentials for Linux enrollment
Day 5 →Week 6 Overview